<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>
  // new Promise((resolve, reject) => {
  //     setTimeout(() => {
  //         resolve('aaa')
  //     }, 1000)
  // }).then(res => {
  //     console.log(res, '第一次处理')
  //     res += '111'
  //     return new Promise(resolve => {
  //         resolve(res)
  //     })
  // }).then(res => {
  //     console.log(res, '第二次处理')
  //     res += 'bbb'
  //     return new Promise(resolve => {
  //         resolve(res)
  //     })
  // }).then(res => {
  //     console.log(res, '第三次处理')
  // })

  // Promise的简写
  // new Promise((resolve, reject) => {
  //     setTimeout(() => {
  //         resolve('aaa')
  //     }, 1000)
  // }).then(res => {
  //     console.log(res, '第一次处理')
  //     res += '111'
  //     return Promise.resolve(res)
  // }).then(res => {
  //     console.log(res, '第二次处理')
  //     res += 'bbb'
  //     return Promise.resolve(res)
  // }).then(res => {
  //     console.log(res, '第三次处理')
  // })

  // Promise的简简写
  // 省略掉Promise.resolve()
  // new Promise((resolve, reject) => {
  //     setTimeout(() => {
  //         resolve('aaa')
  //     }, 1000)
  // }).then(res => {
  //     console.log(res, '第一次处理')
  //     res += '111'
  //     return res
  // }).then(res => {
  //     console.log(res, '第二次处理')
  //     res += 'bbb'
  //     return res
  // }).then(res => {
  //     console.log(res, '第三次处理')
  // })


  new Promise((resolve, reject) => {
      setTimeout(() => {
          resolve('aaa')
      }, 1000)
  }).then(res => {
      console.log(res, '第一次处理')
      res += '111'
      // return Promise.resolve(res)
      // return Promise.reject('error message')
      throw 'error message throw'
  }).then(res => {
      console.log(res, '第二次处理')
      res += 'bbb'
      return Promise.resolve(res)
  }).then(res => {
      console.log(res, '第三次处理')
  }).catch(err => {
      console.log(err);
  })
</script>

</body>
</html>